iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1
AI & Data

放課後的菜雞小學堂-深度學習30日自學筆記系列 第 8

Day 08 | 向前走 向後走 — 反向傳播演算法(Back Propagation)

  • 分享至 

  • xImage
  •  

前面瞭解了一些關於深度學習中神經網路的架構,那麼建立完模型後,就要準備開始進行訓練嘍。依據流程主要可以分為兩種,也就是前向傳播法反向傳播法,前向傳遞比較簡單,而反向傳遞則比較複雜。雖然有點越級打怪的概念,但由於反向傳播演算法(Back Propagation)是訓練人工神經網路較為常見的方法,所以選擇反向傳播法跟大家介紹,若日後還有機會,再跟大家補充前向傳播法的部分。

反向傳播演算法就是把前向傳遞計算出的輸出當作輸入,再利用微積分的偏微分和連鎖律做計算,找出並縮小誤差。好吧看來不是這麼簡單能用字面說明的,至少我的腦袋已經當機了,被突然其來滿滿的數學給卡住,既然如此就借用翻閱到的資料做些技術性的參考好了...:)

以辨識Mnist手寫數字圖像為例,先將資料集拿去預處理,產生訓練所需的特徵值(features)和真實值(labels),接著建立多層感知模型(輸入層、隱藏層、輸出層),並初始化模型的權重(Weight)及偏差(Bias),再把資料分批讀入執行反向傳播演算法訓練,重複輸入特徵值進行計算,並且做權重更新調整,使誤差逐漸收斂到最小化為止。用這樣的一個例子去認識,似乎好理解多了,簡而言之,反向傳播演算法可以說是讓模型一再的去讀取分析資料,從一次又一次的錯誤中做出修正,慢慢找出權重與偏差的正確組合,讓預測結果能夠趨近我們的理想情況的方法

附上一張反向傳播演算法訓練多層感知器模型的示意圖:


上一篇
Day 07 | 深度學習 Deep Learning (三)
下一篇
Day 09 | 觸發事件!Python基礎入門學習
系列文
放課後的菜雞小學堂-深度學習30日自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言